BOJ_10828_스택
명령어를 처리할 때 switch문을 사용했는데, 모든 case마다 break가 붙는다면 lambda식을 활용해서 간편하게 작성할 수 있다
하지만 위 버전은 java12부터 사용 가능하고 백준은 java11을 지원하기 때문에 기존의 switch문으로 작성하였다
package BJO;
import java.util.Scanner;
import java.util.Stack;
public class BJO_10828_스택 {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
int N = scan.nextInt();
Stack<Integer> stack = new Stack<>();
StringBuilder sb = new StringBuilder();
for (int i = 0; i < N; i++) {
String input = scan.next();
// switch (input) {
// case "push" : stack.push(scan.nextInt());
// case "top" : sb.append(stack.isEmpty() ? "-1" : stack.peek());
// case "size" : sb.append(stack.size());
// case "empty" : sb.append(stack.isEmpty() ? "1" : "0");
// case "pop" : sb.append(stack.isEmpty() ? "-1" : stack.pop());
// }
switch (input) {
case "push":
stack.push(scan.nextInt());
break;
case "top":
sb.append(stack.isEmpty() ? "-1" : stack.peek()).append('\n');
break;
case "size":
sb.append(stack.size()).append('\n');
break;
case "empty":
sb.append(stack.isEmpty() ? "1" : "0").append('\n');
break;
case "pop":
sb.append(stack.isEmpty() ? "-1" : stack.pop()).append('\n');
break;
}
}
System.out.println(sb);
}
}